package cn.youqu.happy.module.youqu.controller.app.userActivity.vo;

import lombok.*;
import java.util.*;
import io.swagger.annotations.*;
import cn.youqu.happy.framework.common.pojo.PageParam;
import org.springframework.format.annotation.DateTimeFormat;

import static cn.youqu.happy.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

@ApiModel("用户 APP - 用户发起活动分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class AppUserActivityPageReqVO extends PageParam {

    @ApiModelProperty(value = "活动id")
    private Integer activityId;

    @ApiModelProperty(value = "用户id")
    private Long uid;

    @ApiModelProperty(value = "活动名")
    private String activityName;

    @ApiModelProperty(value = "组队口号")
    private String teamSlogan;

    @ApiModelProperty(value = "地点")
    private String address;

    @ApiModelProperty(value = "详细内容")
    private String detail;

    @ApiModelProperty(value = "当前成员数量")
    private Integer currentPartners;

    @ApiModelProperty(value = "最大成员数量")
    private Integer maxPartners;

    @ApiModelProperty(value = "最小成员数量")
    private Integer minPartners;

    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    @ApiModelProperty(value = "开始预约时间")
    private Date beginAppointTime;

    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    @ApiModelProperty(value = "结束预约时间")
    private Date endAppointTime;

    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    @ApiModelProperty(value = "开始截止时间")
    private Date beginEndTime;

    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    @ApiModelProperty(value = "结束截止时间")
    private Date endEndTime;

    @ApiModelProperty(value = "活动状态")
    private Integer activityStatus;

    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    @ApiModelProperty(value = "开始创建时间")
    private Date beginCreateTime;

    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    @ApiModelProperty(value = "结束创建时间")
    private Date endCreateTime;

    @ApiModelProperty(value = "备注")
    private String remark;

}
